//
//  ShaderManager.h
//  SpineTestCpp
//
//  Created by droidhang on 13-6-26.
//
//

#ifndef __SpineTestCpp__ShaderManager__
#define __SpineTestCpp__ShaderManager__

#include "cocos2d.h"

USING_NS_CC;
using namespace std;

enum ShaderType {
    kShader_0,//hit
	kShader_1,
    kShader_2,
    kShader_3,
    kShader_4,
    kShader_5,
    kShader_6,
    kShader_7,
    kShader_8,
    kShader_9,
    kShader_10,
    kShader_11,
    kShader_12,
    kShader_13,
    kShader_14,
    kShader_15,
    kShader_16,
    
    kShader_MAX,
};

class ShaderManager {

private:
    
    ShaderManager();
    
    static ShaderManager* _pInstance;
    
    CCArray* _shaderAry;
    
public:
    ~ShaderManager();
    
    static ShaderManager* getInstace();
    
    void load();
    void reload();
    
    CCGLProgram* getShader(ShaderType type);
    
};

#endif /* defined(__SpineTestCpp__ShaderManager__) */
